package com.mrd.gtimpframe.service;

import java.util.List;

import com.mrd.gtimp.base.entity.User;
import com.mrd.gtimpframe.base.BaseService;
import com.mrd.gtimpframe.entity.TGenDeclaPolicyRules;
import com.mrd.gtimpframe.remote.PolicyRulesParam;

public interface TGenDeclaPolicyRulesService extends BaseService<TGenDeclaPolicyRules> {
  public List<TGenDeclaPolicyRules> queryList(TGenDeclaPolicyRules tGenDeclaPolicyRules);

  /**
   * 保存政策提醒 保存政策提醒，包括校验的细则和组的关系
   * 
   * @author han
   * @param policyRules
   */
  public void savePolicyRules(PolicyRulesParam.PolicyRules policyRules, User user);

  /**
   * 获取单个规则的详情，包括验证规则，并转换为执行表达式
   * 
   * @param id
   * @return
   */
  public PolicyRulesParam.PolicyRules policyData(String id);

  /**
   * 根据场景转换规则关系
   * 
   * @author han
   * @param bizSceneId 场景主键
   */
  List<PolicyRulesParam.PolicyRules> getSceenPolicyRule(String bizSceneId);

  /**
   * 批量删除
   * 
   * @author han
   * @param id
   * @return
   */
  int deleteBatch(Object[] id);

  /**
   * 根据规则主键查询场景编码
   * 
   * @author han
   * @param id
   * @return
   */
  List<String> queryRuleIDsBizScene(String[] ids);
}
